﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _120_委托与事件区别
{
    class Program
    {
        static void Main(string[] args)
        {
            Example e = new Example();
            e.OnBossBackEvent += (p, q) => { Console.WriteLine(p + "回来了！"); };
            e.OnBossBackEvent += delegate (string s, string m)
            {
                Console.WriteLine("这里是匿名方法！");
            };
            e.OnBossBackInvoke("马化腾", "9.40");

            Console.ReadKey();

            /*
             总结：
                委托本质是一个类，该类有一个参数类型为方法（函数指针）的构造函数，并且提供一个Invoke实例化方法，用来执行该方法（函数指针）
                事件本质上是一个类的字段或者属性，事件的触发，需要通过事件的类里面提供的方法
             
             */
        }
    }
}
